package com.kc.business.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.*;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * TODO
 * <p>
 * 景点
 *
 * @author 张硕
 * @version 1.0
 * @date 2020/9/8
 */

@Data
@Table(name = "kc_scenic_site")
public class BizScenicSite implements Serializable {

    private static final long serialVersionUID = 5906838567824622074L;

    @Id
    private Integer id;
    /**
     * 景点名称
     */
    @NotBlank(message = "景点名称不能为空")
    @Size(min = 0, max = 100, message = "景点名称不能超过100个字符")
    private String title;
    /**
     * 文章内容
     */
    @NotBlank(message = "文章内容不能为空")
    @Size(min = 0, max = 500, message = "文章内容不能超过100个字符")
    private String content;
    /**
     * 景区id
     */
    @NotNull(message = "景区id不能为空")
    private Integer scenicId;
    /** 经度 */
    @NotNull(message = "经度不能为空")
    @DecimalMin(value = "-180", message = "经度有误")
    @DecimalMax(value = "180", message = "经度有误")
    private BigDecimal longitude;
    /** 纬度 */
    @NotNull(message = "纬度不能为空")
    @DecimalMin(value = "-90", message = "经度有误")
    @DecimalMax(value = "90", message = "经度有误")
    private BigDecimal latitude;

    /**
     * 景点轮播图
     */
    private String siteImage;
    /**
     * 景点视频图片
     */
    @NotBlank(message = "景点视频图片不能为空")
    private String siteVideoImage;
    /**
     * 景点视频
     */
    @NotBlank(message = "景点视频不能为空")
    private String siteVideo;

    /**
     * 留言数
     */
    private Integer commentNum;
    /**
     * 点赞数
     */
    private Integer likeNum;
    /**
     * 收藏数
     */
    private Integer collectNum;
    /**
     * 等级
     */
    private Integer level;
    /**
     * 详细地址
     */
//    @NotBlank(message = "详细地址不能为空")
//    private String address;

    /**
     * 是否删除:1删除，0未删除
     */
    private Integer isDeleted;
    /**
     * 景点类型 1登山图2寻花图3戏水图4访仙图5闻佛图6探古图
     */
    private String type;
    @NotNull
    @Size(min = 1, message = "景点类型不能为空")
    private String[] types;
    /**
     * 公共场所：默认0：景点 1：厕所 2：停车场 3：医疗场所
     */
    private Integer publicType;
    /**
     * 观看视频消耗积分
     */
    private Double decrIntegral;
    /**
     * 状态  1：显示 0：不显示
     */
    private Integer status;

    /** 创建者 */
    private String createBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 更新者 */
    private String updateBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /** 租户id */
    private Integer tenantId;
    /*视频时长*/
    private Integer videoTime;
}
